<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<script>
    /*
    * Set
    *   是一个全新的集合的数据结构，可以往里面存储不同的值，集合内部的任何两个值都是不相等的
    *
    *   什么是数据结构？我们学过的数据结构有哪些？
    *
    *   数据结构就是数据按照一定的规律 方法 存储起来的 形式，就是数据结构，例如数组（按照顺序排列的数据），对象（简单版的map）
    *
    * Set 和 Array 的数据结构相似
    *
    * Set 有一个熟悉 size：描述set里面元素的个数
    *
    * Set的方法：
    *   1.Set 通过 add方法 添加元素
    *   2.Set 通过 delete方法 删除元素
    *   3.Set 通过 clear方法 清空所有元素
    *   4.Set 通过 has方法 查询是否存在某个元素 返回true/false
    *
    * new Set()出来的对象set是支持...解构的
    *
    * */
    let s = new Set()
    s.add(1)
    s.add(2)
    s.add(2) //不会存储相同元素，会自动查重

    //数组去重（去掉数组中重复的元素）该怎么操作？

    function quchong(arr){
        let result = []
        arr.forEach(item => {
            if(!result.includes(item)){ //如果结果数组中没有该元素，那么将该元素添加进结果数组
                result.push(item)
            }
        })
        return result //最后返回结果数组
    }

    //用set去重
    function quchong1(arr){ //new Set()出来的对象set是支持...解构的 set也会自动去重
        return [...new Set(arr)] //返回一个数组[],数组里面是new Set生成的对象set，将它点点点解构成每一个元素放入这个数组中
    }

    //set删除元素
    let ss = new Set([1,2,3,4])
    ss.delete(3) //删除元素
    ss.clear() //清空元素




</script>
</body>
</html>